OPC Unified Architecture (OPC UA) is a known standard protocol for manufacturer-independent communication, in particular in process automation, specified by the OPC Foundation. Although the original name for OPC was OLE for Process Control, OPC has been used without an indication of an abbreviation. UA stands for Unified Architecture.
FIG. 1 illustrates a known arrangement for interaction between an OPC UA client 1 and an OPC UA server 3 according to the OPC UA specification using a communication system 2, typically a network. In this case, in order to interact, the OPC UA client 1 can use OPC UA service calls from a set of OPC UA services specified in the OPC UA protocol. There are different technology mappings for transmitting OPC UA service calls via communication systems. TCP-based mapping and mapping based on web services currently exist.
For communication between an OPC UA client 1 and an OPC UA server 3, the OPC UA client 1 must set up an OPC UA session and call OPC UA services within the scope of such a session. Such OPC UA service calls within an OPC UA session cause the user context to be exchanged within the affected devices and cause execution in the security context of the OPC UA session.
FIG. 2 shows execution of an OPC UA session. FIG. 2 illustrates that an OPC UA client 1 can cause an OPC UA session to be set up in a first step 21 and calls OPC UA services in a second step 22. Actions by the OPC UA server 3 in order to verify the requests from the OPC UA client 1 are referred to as the third step 23. In a fourth step 24, the OPC UA session can be concluded. Responses are provided from the OPC UA server 3 to the OPC UA client 1.
The OPC UA standard can make it possible for an OPC UA client to use so-called subscriptions which can be managed by the OPC UA server and can possibly also remain valid beyond the duration of an OPC UA session. In this manner, an OPC UA client can conclude an OPC UA session and can subsequently reopen an OPC UA session, transfer subscriptions to the new OPC UA session and adopt all results from the earlier OPC UA session.
The OPC UA standard defines a set of OPC UA services for different tasks in process automation and other applications. However, additional services for complex tasks can be associated with some applications, for example, for complex configuration or engineering tasks which cannot be tackled or can be tackled only very laboriously using the defined OPC UA services. In addition, so-called legacy services may have already been defined, in which case such older mechanisms are also intended to be continued to be used—within the scope of so-called additional services—if appropriate when the OPC UA protocol is otherwise used.
FIG. 3 shows one known possibility for using additional services. The figure illustrates a client 31 which has been set up both as an OPC UA client 33 and as a client 35 for using additional services. A server 32 has both the function of an OPC UA server 34 and the function of a server 36 for providing additional services. The OPC UA client 31 and the OPC UA server 34 can communicate according to the OPC UA protocol. The client 35 for using additional services and the server 36 for providing additional services communicate in a completely separate manner using legacy service calls.
This known solution for using additional services can have issues both for the development and for the use of a corresponding system. The overall system can become complex and expensive because a plurality of components for managing communication are duplicated, for example those for implementing security mechanisms or for coding or encrypting data. The client sets up an OPC UA session in order to use OPC UA services and additionally sets up something similar in order to be able to use additional services, in which case additional security measures are involved. For the duration of the two parallel sessions, resources can additionally be used both on the client side and on the server side, which has an effect on the required storage capacity, processing speed and network use, for example.